Vulnerability of computer systems, configurations, software, and protocols to unauthorized access or use is recognized. When vulnerabilities are discovered, exploits, which are a sequence of commands or a block of data that take advantage of vulnerabilities, are disseminated and deployed. Often, exploits seek to compromise security by introducing into a target system, data that can be interpreted by the target system in a way that facilitates the attack. One classic form of attack is the so-called buffer overflow attack, in which an exploit causes vulnerable code to write data to memory in such a way that an attacker may successfully alter an execution path of privileged code. Other exploits may modify data upon which privileged code reties. In many cases, unauthorized programs are installed, or existing programs are modified, on the compromised computer system.